This invention relates to packet processing in a router architecture.
A conventional single-box router processes packets that need to be switched (or forwarded) as well as packets that contain control information called control packets for computing routing tables. A routing table keeps track of routes to particular network destinations. Packet switching includes the sending of data information in packets, through a network, to a remote location. Each packet of data information has a unique source address and carries its own destination address.
A conventional router has a device-driver that controls network interface cards located in the router. The device-driver handles communication between the interface cards between remotely located devices and a networking stack in the router. The networking stack is a stack of software layers such as IP (internet protocol), TCP/UDP (transmission control protocol/user datagram protocol), and socket library (application programming interface library) between networking applications and the device-driver. A packet traverses the networking stack to be delivered to a networking application, which handles the processing of control packets of a networking device.